The present invention relates to binary data displays, and more particularly to an adaptive cursor for interpreting displays of grouped data segments within unformatted groups of data bits.
When unformatted groups of data bits appear on the display of a computer, analysis device or measurement instrument, it is difficult to determine the locations of boundaries between contiguous segments of data bits. This problem is compounded when the length or size of segments is not uniform and when the positions of bits are scrambled. One example of an unformatted group of data bits is digital audio data in the AES/EBU format. This data and associated clocking information is transmitted in serial format using a Manchester code with bi-phase mark coding rules. The important signal characteristics are: the signal has no d.c. content; decoding information is contained in transitions, i.e., changes in amplitude; no polarity information is required; and the clock signal is embedded within the data. A typical Manchester Code serial data signal is shown in FIG. 1 in the time domain.
The data represented by the signal of FIG. I may be organized into blocks of data. Special characters, called PREambles, delimit the boundaries of these blocks. These blocks may have the time domain structure as shown in FIG. 2. In this case the PREambles permit the identification of the points in time where the portions of the block, labeled "S", "A" and "B", begin. Blocks may be subdivided into smaller portions called Frames, which in turn may be subdivided into two subframes, "A" and "B". The structure of an AES/EBU subframe is shown in FIG. 3. The subframe has 32 bits of data. The first four bits are the PREamble characters, the next 24 bits carry audio sample information in a PCM format, and the last four bits provide special information including audio sample Validity, User data, Channel status data and subframe Parity. Receiving/decoding devices need to assemble the individual Channel and User data from the "S", "A" and "B" subframes into blocks of data according to the schematic diagram shown in FIG. 4. Thus from the serial data block four unique ancillary blocks of data are constructed having the following characteristics: block information is temporal in nature with "buildup" of the blocks being related to the inverse of the Frame repetition rate, i.e., for blocks of N bits and a frame rate of X frames per second it takes N/X seconds to accumulate a complete ancillary block; and as soon as one set of blocks is completed the accumulation of another set of blocks is started. The AES/EBU, IEC 958 and SPDIF Digital Audio Data Signals employ this Manchester encoding and Block data, and define different formats for the usage of the bits making up the four ancillary blocks.
For digital audio applications the ancillary block size is 192 bits, with each block being organized into 24 8-bit bytes. Graphically a block may have the appearance as shown in FIG. 5 in binary form. As an example of one of these formats, the AES/EBU Channel Status Format:
Byte 0 PA1 Byte 1 Channel mode, user bit management PA1 Byte 2 Use of auxiliary bits, word length, encode history PA1 Byte 3 Future description PA1 Byte 4 Digital audio reference signal, reserved PA1 Byte 5 Reserved PA1 Bytes 6-9 Alphanumeric origin data PA1 Bytes 10-13 Alphanumeric destination data PA1 Bytes 14-17 Local sample address code PA1 Bytes 18-21 Time of day sample address code PA1 Byte 22 Reliability of preceding bits PA1 Byte 23 CRCC character
bit 0=professional/consumer PA2 bit 1=audio/nonaudio data PA2 bits 2-4=type of emphasis PA2 bit 5=sampling frequency locked PA2 bits 6-7=sampling rate
Similar definitions exist for the other blocks and the other formats. These formats will continue to evolve with new assignments for the bits and new applications being developed.
It is difficult to examine the individual bit representations of the data and be able to decode the meaning of the bit positions and states and detect errors in certain bits. The meaning of the groups or segments of bits depends upon their location within the block and often the states of preceding bit positions.
What is desired is an adaptive cursor that automatically adjusts its indication to identify all bits of a segment of data bits whenever it is pointed to at least one bit of the segment to easily identify the segment.